#ifndef _DKGL_FIXED_POINT_16_H_
#define _DKGL_FIXED_POINT_16_H_

#include <limits>
#include <math.h>
#include <string.h>

namespace DKGL{

/////////////////////////////////////////////////////////////////////////////////
// IEEE 32bits float 
//
// 31 : sign, 
// 23~30 : exponent
// 0~22 : mantissa
//////////////////////////////////////////////////////////////////////////////////

class FixedPoint16
{
public:
	FixedPoint16(){};
	~FixedPoint16(){};

	FixedPoint16(float f);
	FixedPoint16(int d);

	float toFloat();
	int toInt();

private:
	bool m_overflow;
	char m_wholePart;//8 bits
	char m_fracPart;// 8bit

};

}

#endif